/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package business;

import dao.ProjetoDAOException;
import dao.InterfaceParticipanteDAO;
import dao.impl.ParticipanteDAO;
import model.Participante;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;

/**
 *
 * @author amor
 */
public class ParticipanteBusiness {

    private Participante participante = new Participante();
    private boolean logado = false;
    private Object interfacParticipante;

    
   
    public Participante getParticipante() {
        return participante;
    }

    
    public void setParticipante(Participante participante) {
        this.participante = participante;
    }

    
    public boolean isLogado() {
        return logado;
    }

    
    public void setLogado(boolean logado) {
        this.logado = logado;
    }
    
    //METODOS PARA MANIPULACAO DE DADOS DO CLIENTE
    public String autenticaParticipante() throws ProjetoDAOException {
        InterfaceParticipanteDAO interfaceParticipante = new ParticipanteDAO();
        String retorno;
        Participante pnt = interfaceParticipante.procurar(this.participante.getNome().trim(),
                this.participante.getSenha().trim());
        if (pnt != null && pnt.getMatricula() != "") {
            setParticipante(pnt);
            setLogado(true);
            retorno = "mostrarParticipante";
        } else {
            FacesContext contexto = FacesContext.getCurrentInstance();
            FacesMessage msg = new FacesMessage("Usuário ou senha inválido(s).");
            contexto.addMessage("login", msg);
            setLogado(false);
            retorno = "falhaAutenticacao";
        }
        return retorno;
    }

    public String logout() {
        setLogado(false);
        return "projeto";
    }
    
    

    public String editarParticipante() {
        setParticipante(participante);
        return "editarParticipante";
    }

    public String atualizarParticipante() throws ProjetoDAOException {
        InterfaceParticipanteDAO interfaceParticipante = new ParticipanteDAO();
        interfaceParticipante.atualizar(participante);
        return "mostrarParticipante";
    }

    public String excluirParticipante() throws ProjetoDAOException {
        InterfaceParticipanteDAO interfaceParticipante = new ParticipanteDAO();
        interfaceParticipante.excluir(participante);
        setLogado(false);
        return "projeto";
    }

    public String novoParticipante() {
        this.setParticipante(new Participante());
        setLogado(false);
        return "novoParticipante";
    }

    public String salvarParticipante() throws ProjetoDAOException {
        InterfaceParticipanteDAO interfaceParticipante = new ParticipanteDAO();
        interfaceParticipante.salvar(participante);
        setLogado(true);
        return "mostrarParticipante";
    }


    

}
